home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / SYS / s / open.wrx < prev    next >
Text File  |  1996-09-26  |  2KB  |  121 lines

  1. /*
  2.  * WRITE V3.000 © 1991-1993 by Tim Teulings startup script
  3.  * for ideal use set sleep mode in the configuration file
  4.  * This script was done by MGR, Asgrad -- Lars Hanke
  5.  * no copyrights claimed
  6.  *
  7.  * this script takes a filename as argument. If the other
  8.  * argument equals "run", control returns to shell immediately.
  9.  *
  10.  * screen flag added vor WRITE V3.000
  11.  * if one is argument is "screen" then screen is brought to front when
  12.  * starting and to the back again when quitting. Usefull for starting
  13.  * WRITE from other screens.
  14.  * Tim Teulings.
  15.  *
  16.  */
  17.  
  18. IF ~show('P',"WRITE")
  19. THEN DO
  20.   IF Open(File,"ENV:WRITE",r) THEN DO
  21.     WRITEPATH = READLN(File)
  22.     Close(File)
  23.  
  24.     ADDRESS "COMMAND"
  25.     "run >NIL: <NIL: " || WRITEPATH
  26.     "SYS:REXXC/WaitForPort <NIL: >NIL: WRITE"
  27.   END
  28.   ELSE DO
  29.     say "Kann WRITE nicht finden !"
  30.   END
  31. END
  32.  
  33. PARSE ARG A.1 A.2 A.3
  34.  
  35. runit    = FALSE
  36. screenit = FALSE
  37. FileName = ""
  38.  
  39. DO i = 1 TO 3
  40.   IF A.i="#run" THEN DO
  41.     runit = TRUE
  42.   END
  43.   ELSE DO
  44.     IF A.i="#screen" THEN DO
  45.       screenit = TRUE
  46.     END
  47.     ELSE DO
  48.       IF A.i~="" THEN DO
  49.         FileName=A.i
  50.       END
  51.     END
  52.   END
  53. END
  54.  
  55. FileName=strip(FileName)
  56. FileName=strip(FileName,'B','"')
  57.  
  58. IF length(FileName)~=0
  59. THEN DO
  60.   IF pos(':',FileName)=0
  61.   THEN DO
  62.    DirName=pragma('D')
  63.    IF right(DirName,1)~=':' THEN
  64.      DirName=DirName||'/'
  65.    FileName=DirName||FileName
  66.   END
  67. END
  68.  
  69. ADDRESS "WRITE"
  70.  
  71. OPTIONS RESULTS
  72.  
  73. 'VERSIONCHECK 3848 "open.wrx"'
  74. IF RC~=0 THEN DO
  75.   exit 10
  76. END
  77.  
  78. 'NEWED ""'
  79. ID = RESULT
  80. OPENPORT ID
  81. Port = RESULT
  82. IF Port = ""
  83. THEN DO
  84.   "MESSAGEOK (REXX-script 'open.wrx' :\nSorry, no more private ports!)"
  85.   EXIT
  86. END
  87.  
  88. INTERPRET ADDRESS Port
  89.  
  90. "WINDOW 0 0 0 0"
  91.  
  92. "SETVAR (_Path) ("||FileName||")"
  93. IF length(FileName)~=0 THEN DO
  94.   IF exists(FileName) then
  95.     "OPEN ("||FileName||")"
  96.   ELSE
  97.     "SETVAR (_FileName) ("||FileName||")"
  98. END
  99. ELSE DO
  100.   FileName=pragma('D')
  101.   IF right(FileName,1)~=':' THEN
  102.     FileName=FileName||'/'
  103.  "SETVAR (_Path) ("||FileName||")"
  104. END
  105.  
  106. IF (screenit = TRUE) & (runit = FALSE) THEN DO
  107.   MODIFYSCREEN 0
  108. END
  109.  
  110.  
  111. IF (runit = FALSE) THEN DO
  112.   WAITPORT ID
  113. END
  114.  
  115. IF (screenit = TRUE) & (runit = FALSE) THEN DO
  116.   IF show('P',"WRITE") THEN DO
  117.     ADDRESS "WRITE"
  118.     MODIFYSCREEN 1
  119.   END
  120. END
  121.